# 1. 理解键盘输入
# 2. 理解键盘输入左右，对横轴的x应该做什么运算
# 3. 理解键盘输入空格，应该对纵轴的y应该做什么运算
import pygame
import time
# 引入pygame中所有常量，比如 QUIT
from pygame.locals import *

# 初始化
pygame.init()
# 设置一个基础的窗口
screen = pygame.display.set_mode((800, 800))
# 背景色为白色
screen.fill((255, 255, 255))
# 加载一张图片，并设置透明
image_surface = pygame.image.load("./img/maliao.png").convert_alpha()
# 加载一张图片，没有设置透明
#image_surface = pygame.image.load("./maliao.png").convert()
# 把我们图片设置大小
image_surface = pygame.transform.scale(image_surface, (150, 150))

x = 0
y = 650
# 无限循环，让窗口停留
while True:
    # 退出程序
    for event in pygame.event.get():
        if event.type == QUIT:
            exit()

    # 获取当前的KeyList，判断对应按钮是否有被按下，可以解决输入法问题
    keyList = pygame.key.get_pressed()
    if keyList[pygame.K_LEFT]:
        x = x - 10
    if keyList[pygame.K_RIGHT]:
        x = x + 10
    # 防止跑出屏幕右边距
    if(x >= 650):
        x = 650
    # 防止跑出屏幕左边距
    if(x <= 0):
        x = 0
    # 防止跑出屏幕下边距
    if(y >= 650):
        y = 650
    # 防止跑出屏幕上边距
    if(y <= 0):
        y = 0

    # 刷新背景，防止残影
    screen.fill((255, 255, 255))
    # 将图像放置在主屏幕上
    screen.blit(image_surface, (x, y))

    # 更新屏幕
    pygame.display.flip()
    # 睡0.03秒，让他不要太快,以后会引入fps概念，目前小朋友不需要了解
    time.sleep(0.03)
